#!/bin/bash

file_name="$*"
music_dir="$HOME/Music"
cache_dir="$HOME/.cache/awesome/music"


if [[ ! -e $cache_dir ]]; then
	mkdir -p $cache_dir
fi


function get-cover() {
	input_file="${music_dir}/${file_name}"
	output_file="${cache_dir}/${file_name}.jpg"
	if [[ ! -e "$input_file" ]]; then
		return 1
	elif [[ ! -e "$output_file" ]]; then
		ffmpeg -y -loglevel quiet -i "$input_file" -c:v copy "$output_file" && \
		size=$(magick identify -format "%[fx:min(w,h)]" "$output_file") && \
		magick "$output_file" -gravity center -extent "${size}x${size}" "$output_file" && return 0 || return 1
	fi
}



function blur-cover() {
	input_file="${cache_dir}/${file_name}.jpg"
	output_file="${cache_dir}/${file_name}.blur.jpg"
	if [[ ! -e "$input_file" ]]; then
		return 1
	elif [[ ! -e "$output_file" ]]; then
		magick "$input_file" -resize 30x30 -gravity center -extent 25x9 -blur 0x8 "$output_file" && return 0 || return 1
	fi
}


get-cover && blur-cover && echo -n 'ok'
